package com.ylsk.check.service;

import java.util.List;
import com.ylsk.check.domain.WithdrawalReport;
import com.ylsk.check.domain.dto.WithdrawalReportDTO;
import com.ylsk.check.domain.so.WithdrawalReportSO;
import com.ylsk.check.domain.vo.WithdrawalReportVO;

/**
 * 撤场上报Service接口
 *
 * @author yangsy
 * @date 2023-12-21
 */
public interface IWithdrawalReportService
{
    /**
     * 查询撤场上报
     *
     * @param withdrawalReportId 撤场上报主键
     * @return 撤场上报
     */
    public WithdrawalReportVO selectWithdrawalReportByWithdrawalReportId(Long withdrawalReportId);

    /**
     * 查询撤场上报列表
     *
     * @param withdrawalReportSO 撤场上报
     * @return 撤场上报集合
     */
    public List<WithdrawalReportVO> selectWithdrawalReportList(WithdrawalReportSO withdrawalReportSO);

    /**
     * 新增撤场上报
     *
     * @param withdrawalReportDTO 撤场上报
     * @return 结果
     */
    public int insertWithdrawalReport(WithdrawalReportDTO withdrawalReportDTO);

    /**
     * 修改撤场上报
     *
     * @param withdrawalReportDTO 撤场上报
     * @return 结果
     */
    public int updateWithdrawalReport(WithdrawalReportDTO withdrawalReportDTO);

    /**
     * 批量删除撤场上报
     *
     * @param withdrawalReportIds 需要删除的撤场上报主键集合
     * @return 结果
     */
    public int deleteWithdrawalReportByWithdrawalReportIds(Long[] withdrawalReportIds);

    /**
     * 删除撤场上报信息
     *
     * @param withdrawalReportId 撤场上报主键
     * @return 结果
     */
    public int deleteWithdrawalReportByWithdrawalReportId(Long withdrawalReportId);
}
